Awesome Vert.x
      
    
    
      
    
    
      Awesome Vert.x is a list of awesome frameworks, libraries or
      other components for use with or that use
      Vert.x version.
    
    
      If you want your component to appear here send a pull request to this
      repository to add it.
    
    
      Please note that we can’t vouch for the stability or production-worthiness
      of everything on this list unless it has the icon
      
      next to it. This icon means the component is part of the official
      Vert.x stack.
    
    For Vert.x version 2 check this page.
    Contents
    
    Books
    
    
    
    Web Frameworks
    
      - 
        Vert.x Web
        
        - Full featured web toolkit for Vert.x.
       
      - 
        Vert.x Jersey
        - Create JAX-RS Jersey resources
        in Vert.x.
      
 
      - 
        Kovert - Invisible REST
        framework for Kotlin + Vert.x Web.
      
 
      - 
        Handlers
        - Open web framework for Vert.x.
      
 
      - 
        QBit - REST and
        WebSocket method call marshaling and reactive library.
      
 
      - 
        vertx-rest-storage
        - Persistence for REST resources in the filesystem or a redis database.
      
 
      - 
        Jubilee - A rack
        compatible Ruby HTTP server built on Vert.x 3.
      
 
      - 
        Knot.x - Efficient
        & high-performance integration platform for modern websites built on
        Vert.x 3.
      
 
      - 
        Irked -
        Annotations-based configuration for Vert.x 3 Web and controller
        framework.
      
 
      - 
        REST.VertX -
        Lightweight JAX-RS (RestEasy) like annotation processor for Vert.x
        verticals.
      
 
      - 
        Atmosphere Vert.x
        - Realtime Client Server Framework for the JVM, supporting WebSockets
        and Server Sent Events with Cross-Browser Fallbacks.
      
 
      - 
        Vert.x Vaadin -
        Run Vaadin applications on Vert.x.
      
 
      - 
        Serverx - Allows you
        to quickly and easily set up a Vert.x-powered server using only route
        handler annotations.
      
 
      - 
        Cloudopt Next
        - Cloudopt Next is a very lightweight and modern, JVM-based, full stack
        kotlin framework designed for building modular, easily testable JVM
        applications with support for Java, Kotlin language, crafted from the
        best of breed Java libraries and standards.
      
 
      - 
        Donkey - Modern
        Clojure HTTP server and client built for ease of use and performance.
      
 
    
    Authentication Authorisation
    
    Database Clients
    Clients for connecting to databases
    
      - 
        Relational Databases
        
          - 
            Reactive SQL Client
            
            - High performance reactive SQL client.
           
          - 
            JDBC
            
            - Asynchronous interface around a JDBC datasource.
           
          - 
            MySQL / PostgreSQL
            
            - Asynchronous Client for MySQL/PostgreSQL.
           
          - 
            PostgreSQL
            - Reactive PostgreSQL Client.
          
 
          - 
            database - Client
            for Oracle, PostgreSQL, SQL Server, HyperSQL, etc. designed for
            security, correctness, and ease of use.
          
 
          - 
            jOOQ - Doing
            typesafe, asynchronous SQL and generate code using jOOQ.
          
 
          - 
            jOOQx - Leverages the
            power of typesafe SQL from 
jOOQ DSL and uses the
            reactive and non-blocking SQL driver from Vert.x.
           
        
       
      - 
        NoSQL Databases
        
          - 
            MongoDB
            
            - An asynchronous client for interacting with a MongoDB database.
           
          - 
            Redis
            
            - Asynchronous API to interact with Redis.
           
          - 
            Cassandra
            
            - A Vert.x client allowing applications to interact with a Cassandra
            service.
           
          - 
            Cassandra
            - Asynchronous API to interact with Cassandra and Cassandra Mapping.
          
 
          - 
            OrientDB -
            Non-blocking OrientDB server integration.
          
 
          - 
            Bitsy -
            Non-blocking Bitsy Graph server integration.
          
 
          - 
            MarkLogic
            - Asynchronous client for Marklogic Database Server.
          
 
          - 
            SirixDB
            - Non-blocking SirixDB HTTP-server.
          
 
          - 
            DGraph
            - An example on how to build a Vert.x gRPC compliant client. Here
            targeting dgraph
          
 
          - 
            RxFirestore -
            Non-blocking Firestore SDK written in a reactive way.
          
 
          - 
            MongoDB
            - Pure functional and reactive MongoDB client on top of
            Vert.x Effect. Full support for retry, fallback and recovery operations.
          
 
        
       
      - 
        vertx-pojo-mapper
        - Non-blocking POJO mapping for MySQL and MongoDB.
      
 
      - 
        vertx-mysql-binlog-client
        - A Vert.x client for tapping into MySQL replication stream.
      
 
    
    Integration
    
      - 
        Server-Sent Events
        
          - 
            jEaSSE - Java Easy
            SSE. A simple, lightweight implementation of SSE.
          
 
          - 
            vertx-sse -
            Vert.x SSE implementation + event-bus SSE bridge.
          
 
        
       
      - 
        Mail
        
      
 
      - 
        REST
        
      
 
      - 
        File Server
        
      
 
      - 
        Messaging
        
          - 
            AMQP 1.0
            
            - Interact with AMQP 1.0 servers using the Vert.x Producer and
            Consumer APIs.
           
          - 
            MQTT
            
            - Provides two different components: an MQTT server for handling all
            the MQTT communication and messages exchanges with clients and an
            MQTT client for sending and receiving messages against an MQTT
            broker.
           
          - 
            RabbitMQ
            
            - A RabbitMQ client (AMQP 0.9.1).
           
          - 
            Kafka Client
            
            - A Kafka client.
           
          - 
            kafka - Kafka
            client for consuming and producing messages.
          
 
          - 
            Kafka Service
            - Kafka producer and consumer with retry logic.
          
 
          - 
            SaltStack -
            A bi-directional bridge between the SaltStack event system and the
            Vert.x event bus.
          
 
          - 
            STOMP
            
            - A Kafka client and server.
           
          - 
            ZeroMQ - ZeroMQ
            Event Bus bridge.
          
 
          - 
            MQTT Broker
            - MQTT Broker (MQTT ver. 3.1.1 and 3.1 compliant).
          
 
          - 
            Azure ServiceBus
            - Azure
            ServiceBus
            producer and consumer (fully async, doesn’t use Microsoft Azure
            SDK).
          
 
          - 
            AMQP 1.0 - Kafka bridge
            - Bridge for sending/receiving messages to/from Apache Kafka using
            the AMQP 1.0 protocol.
          
 
          - 
            Vert.x Kafka Client
            
            - Apache Kafka client for reading and sending messages from/to an
            Apache Kafka cluster.
           
          - 
            The White Rabbit
            - An asynchronous RabbitMQ (AMQP) client based on Kotlin coroutines.
          
 
          - 
            WAMP Broker
            - A WAMP broker you can embed into your Vert.x application.
          
 
        
       
      - 
        JavaEE
        
          - 
            JCA adaptor
            
            - Java Connector Architecture Adaptor for the Vert.x event bus.
           
          - 
            Weld - Brings the
            CDI programming model into the Vert.x ecosystem (register CDI
            observer methods as Vert.x message consumers, CDI-powered Verticles,
            define routes in a declarative way, etc.).
          
 
        
       
      - 
        Meteor
        
          - 
            Meteor -
            Meteor integration support through Vert.x event bus.
          
 
        
       
      - 
        Metrics
        
      
 
      - 
        Netflix - Hystrix
        
      
 
      - 
        Dart
        
      
 
      - 
        Push Notifications
        
          - 
            Onesignal
            - Send push notifications to (mobile/web) apps from your Vert.x
            application with OneSignal.
          
 
        
       
      - 
        CNCF CloudEvents
        
      
 
    
    Middleware
    
      - 
        Apache Camel
        - Apache Camel component for
        bridging Camel with the Vert.x event bus.
      
 
      - 
        Gateleen -
        Middleware library based on Vert.x to build advanced JSON/REST
        communication servers.
      
 
      - 
        Gravitee.io - An OSS API Platform
        including an API Gateway and an OAuth2 / OIDC authorization server based
        on Vert.x Core / Vert.x Web and other modules.
      
 
      - 
        API Framework -
        Vert.x and Glue based microservice framework removing distinction
        between standalone and serveless application. All services can run in
        standalone server, but, if required, same codebase can be used to run
        any service as serverless application.
      
 
    
    Language Support
    Programming language support for Vert.x
    
      - 
        Ceylon
        
        - Ceylon support.
       
      - 
        Groovy
        
        - Groovy support.
       
      - 
        Java
        
        - Vert.x main repository (including the Java API).
       
      - 
        JavaScript
        
        - JavaScript support.
       
      - 
        Python -
        Python support.
      
 
      - 
        Ruby
        
        - Ruby support.
       
      - 
        Scala -
        
        - Scala support.
       
      - 
        Kotlin -
        
        - Kotlin support.
       
      - 
        EcmaScript -
        EcmaScript >=6 (JavaScript) support.
      
 
      - 
        Php - Php
        support.
      
 
    
    Language extensions
    
    Reactive
    
      - 
        Reactive Streams
        
        - Vert.x Reactive Streams.
       
      - 
        Vert.x Rx
        
        - Vert.x Reactive Extensions.
       
      - 
        Vert.x Sync
        
        - Vert.x fiber support.
       
      - 
        Kotlin coroutines
        
        - Vert.x support for Kotlin coroutines.
       
      - 
        vertx-util - Light
        weight promises & latches for Vert.x.
      
 
      - 
        QBit - Async typed
        actor-like lib that runs easily in Vert.x Async Callbacks. Callback
        management.
      
 
      - 
        VxRifa - Utility library
        for Vert.X that allows using strong-typed interfaces in communication
        through EventBus.
      
 
      - 
        Vert.x Effect
        - Pure functional and reactive library based on the IO Monad to
        implement any complex flow. Full support for retry, fallback and
        recovery operations.
      
 
    
    Sync Thread Non Block
    
      - 
        Sync - Synchronous
        but non-OS-thread-blocking verticles.
      
 
    
    Vert.x Event Bus Clients
    Clients to connect applications to the Vert.x event bus
    
    Vert.x Event Bus Extensions
    
      - 
        Eventbus Service
        - Code generator for type-safe event bus communication via simple Kotlin
        interfaces.
      
 
    
    Cluster Managers
    Implementations of the Vert.x cluster manager SPI
    
    Cloud Support
    
    Docker
    
    Microservices
    
      - 
        Service Discovery
        
        - Vert.x Service Discovery.
       
      - 
        Circuit Breaker
        
        - Vert.x Circuit Breaker.
       
      - 
        Service Discovery - Consul
        
        - Consul extension to Vert.x
        Service Discovery.
       
      - 
        Service Discovery - Docker links
        
        - Docker extension to Vert.x
        Service Discovery.
       
      - 
        Service Discovery - Kubernetes
        
        - Kubernetes extension to Vert.x
        Service Discovery.
       
      - 
        Service Discovery - Redis backend
        
        - Redis storage backend for Vert.x
        Service Discovery.
       
      - 
        Vert.x GraphQL Service Discovery
        - GraphQL service discovery and
        querying for your Vert.x microservices.
      
 
      - 
        Resilience4j
        - Resilience4j is a fault tolerance library designed for Java8 and
        functional programming. Resilience4j provides modules for Circuit
        Breaking, Rate Limiting, Bulkheading, Automatic retrying, Response
        caching and Metric measuring.
      
 
      - 
        Autonomous Services
        - A toolkit for creating autonomous services. An architecture that
        leverages vert.x and nannoq-tools to provide an event-based reactive
        architecure without centralized components, neither for communication or
        data, providing a theoretically linear scalability across the
        architecture.
      
 
      - 
        Apache ServiceComb Java Chassis
        - ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid
        development of microservices in Java, providing service registration,
        service discovery, dynamic routing, and service management features.
      
 
    
    Search Engines
    
    Template Engines
    
      - 
        KorTE Template Engine -
        Kotlin Template Engine similar to Twig/Django/Liquid supporting calling
        Kotlin suspend methods.
      
 
    
    Service Factory
    
    Config
    
    Dependency Injection
    
      - 
        Vert.x Guice -
        Vert.x verticle factory for Guice dependency injection.
      
 
      - 
        Vert.x HK2 -
        Vert.x verticle factory for HK2 dependency injection.
      
 
      - 
        Spring Vert.x Extension
        - Vert.x verticle factory for Spring DI injection.
      
 
      - 
        Vert.x Beans -
        Inject Vert.x objects as beans into your Spring application.
      
 
      - 
        QBit - QBit works
        with Spring DI and Spring Boot (and of course Vert.x). Allows you to use
        QBit, Vert.x, Spring DI and Spring Boot in the same application.
      
 
      - 
        Vert.x Eclipse SISU
        - Vert.x integration with
        Eclipse SISU DI container.
      
 
      - 
        Vert.x Spring Verticle Factory
        - A Vert.x Verticle Factory that makes use of Spring to obtain and
        configure Verticles.
      
 
      - 
        Glue - Proven and
        opinionated programming, and configuration model for Java and Vert.x
        based applications. Inspired from ATG Nucleus, provides powerful layer
        base configuration management using simple properties file.
      
 
    
    Testing
    
    
    
      - 
        Vert.x shell
        
        - Allows for interaction with Vert.x from the command line.
       
      - 
        Vert.x health check
        - Allows for remote health checking in Vert.x projects.
      
 
      - 
        Vert.x Hot - A Maven
        plugin for the hot-deploy of Maven Vert.x projects.
      
 
      - 
        slush-vertx - A
        template driven Vert.x project generator for different languages and
        build tools.
      
 
      - 
        Vert.x for Visual Studio Code
        - A Visual Studio Code (polyglot) plugin for Vert.x. Also available from
        the
        Marketplace.
      
 
      - 
        Vert.x Starter - A
        browser-based project starter and project templates for Vert.x
        applications.
      
 
      - 
        Vert.x LiveReload
        - A simple livereload server for Vert.x applications.
      
 
      - 
        openapi-generator
        - OpenAPI Generator allows generation of API client libraries (SDK
        generation), server stubs, documentation and configuration automatically
        given an OpenAPI Spec (v2, v3).
      
 
    
    Miscellaneous
    
      - 
        Vert.x Child Process
        - Spawn child process from Vert.x.
      
 
      - 
        vertx-redisques
        - A highly scalable redis-persistent queuing system for Vert.x.
      
 
      - 
        Simple File Server
        - An OpenStack Swift compatible distributed object storage server that
        can serve and securely store billions of large and small files using
        minimal resources implemented using Vert.x.
      
 
      - 
        Vert.x Boot -
        Deploying verticles from a HOCON configuration.
      
 
      - 
        GDH - Generalized
        Diffie-Hellman key exchange Java library built on top of Vert.x.
      
 
    
    Distribution
    
    Examples
    
      - 
        Vert.x blueprint - Microservice application
        
        - The official Vert.x blueprint showing how to build a complex
        microservice application.
       
      - 
        Vert.x blueprint - Job Queue
        
        - The official Vert.x blueprint showing how to build a distributed job
        processing application.
       
      - 
        Vert.x blueprint - TODO backend
        
        - The official Vert.x blueprint showing how to build a backend for a
        TODO application.
       
      - 
        Vert.x examples
        
        - The official Vert.x examples including web examples, how to use the
        official database clients, etc.
       
      - 
        Vert.x feeds -
        Example of an RSS aggregator built using Vert.x, Gradle, MongoDB, Redis,
        Handlebars templates, AngularJS, the event bus and SockJS.
      
 
      - 
        Vert.x Markdown service
        - Example on how to use
        service-proxy
        with Gradle.
      
 
      - 
        Example using event bus and service proxies to connect vertx and
          node
        - Step by step example with wiki description showing how to connect
        Vert.x and Node using event bus and service proxies.
      
 
      - 
        Vert.x Todo-Backend implementation
        - Pure Java 8 implementation of the Todo MVC backend. Uses a Vert.x
        LocalMap for storage.
      
 
      - 
        Kotlin Todo-Backend implementation
        - Kotlin implementation of the Todo MVC backend.
      
 
      - 
        Scala Todo-Backend implementation
        - Scala implementation of the Todo MVC backend.
      
 
      - 
        Grooveex Todo-Backend implementation
        - Todo MVC backend implementation with Vert.x + Groovy + some syntactic
        sugar + DSL routing facilities.
      
 
      - 
        Vert.x Gradle Starter
        - Java 8 starter application with example of using Vert.x with Gradle
        build system, profiles configuration and SLF4J.
      
 
      - 
        Vert.x Gentics Mesh Example
        - Example on how to build a template-based web server with Gentics Mesh
        and handlebars.
      
 
      - 
        HTTP/2 showcase
        - A simple demo, showing how HTTP/2 can drastically improve user
        experience when a huge latency is involved.
      
 
      - 
        Vert.x Music Store
        - An example application on how to build Vert.x applications with
        RxJava.
      
 
      - 
        Crabzilla - Yet
        another Event Sourcing experiment. A project exploring Vert.x to develop
        Event Sourcing / CQRS applications.
      
 
      - 
        Vert.x PostgreSQL Starter
        - A starter to build a monolithic CRUD RESTful Web Service with Vert.x
        stack and PostgreSQL.
      
 
      - 
        Cloud Foundry
        - An example Vert.x for deploying to a
        Cloud Foundry service
        provider.
      
 
      - 
        Knative
        - An example application on how to use
        Reactive Extensions Vert.x
        with Knative.
      
 
      - 
        
          Starter Single Verticle API
          - REST API Starter and Project Template ready to deploy with lots of
          plumbing code, examples, and documentation to quickly develope an API
          with almost no knowledge of vert.x and without any waste of time. ##
          Deployment
        
       
      - 
        
          Vert.x Deploy Application
          - (Seamless) deploy to AWS based Vert.x application clusters.
        
       
    
    Utilities
    
      - 
        Chime - Time
        scheduler working on Vert.x event bus allowing for scheduling with
        cron-style and interval timers.
      
 
      - 
        Vert.x Cron -
        Schedule events with cron specifications. Has event bus and Observable
        versions.
      
 
      - 
        Vert.x CronUtils
        - An abstraction of cron-utils for the vertx scheduler. Unix, Cron4j and
        Quartz style expressions are supported.
      
 
      - 
        Vert.x Scheduler
        - A lightweight plugable scheduler based on plain Vert.x core without
        any external libs for scheduling with cron-style and
        interval timers with a detail monitor on both sync and
        async task.
      
 
      - 
        Vert.x POJO config
        - Allows for mapping between standard JSON configuration and a
        (type-safe) configuration Java bean. Also allows the configuration bean
        to be validated through JSR 303.
      
 
      - 
        Vert.x Async -
        Portage of caolan/async nodejs module to Vert.x framework that provides
        helpers methods for common async patterns.
      
 
      - 
        Vert.x JOLT - JSON
        to JSON transformation tool based on the original bazaarvoice JOLT
        project. Helpful to transform different json structure into an expected
        json format.
      
 
      - 
        Vert.x Dependent Verticle Deployer
        - A Vert.x Verticle intended to deploy verticles and their dependent
        verticles.
      
 
      - 
        Vert.x Dataloader
        - Java port of Facebook Dataloader for Vert.x. Efficient batching and
        caching for your data layer.
      
 
      - 
        Vert.x Util - A
        collection of Vert.x utility methods.
      
 
      - 
        Vert.x Web Accesslog
        - Just a simple handler to be used in Vert.x Web to generate access
        logs.
      
 
      - 
        Vert.x GraphQL Utils
        - A route handler and Vert.x compatible interfaces to handle GraphQL
        queries in Vert.x and Vert.x Web.
      
 
      - 
        Nannoq-Tools
        - Nannoq-Tools is a toolkit for constructing robust, scalable and
        distributed applications leveraging Vert.x including modules for
        authentication, cluster management, Firebase Cloud Messaging, DynamoDB,
        fully generic queries, REST, and more.
      
 
      - 
        Contextual logging
        - Mapped Diagnostic Context (MDC) that works with the Vert.x event-loop
        model.
      
 
    
    Presentations
    
    
    
      - 
        User Group
        - Discuss all user issues related to using Vert.x.
      
 
      - 
        Developer Group
        - A group for Vert.x core developers and contributors.
      
 
      - 
        Gitter chat
        general chat for Vert.x releated chat.
      
 
      - 
        Issues - Vert.x
        core issue tracker.
      
 
      - 
        Wiki - Contains
        useful information about Vert.x.
      
 
      - 
        Blog - The official Vert.x blog
        containing many tutorials and other information.
      
 
      - 
        2017 Events
        - A list of 2017 Vert.x talks and presentations.
      
 
    
    Articles
    
    Tutorials
    
    Social events / Meetups
    
    Front-End
    
      - 
        VertxUI - A pure
        Java front-end toolkit with descriptive fluent views-on-models, POJO
        traffic, JUnit testing on the virtual DOM or mixed-language on a real
        DOM, and more.
      
 
    
    Contribute
    
      Contributions welcome! Read the
      contribution guidelines first.